If Variable is declared as @EnvironmentObject then SwiftUI will try to find an Instance with this name in Environment.
ContentView.swift
import SwiftUI
//==========================================================================
// Person
//==========================================================================
class Person : ObservableObject { //Must conform to ObservableObject Protocol
var name = "John" //Otherwise you can't use @EnvironmentObject
}
//==========================================================================
// ContentView
//==========================================================================
struct ContentView: View {
var person = Person() //Create person Instance
var body: some View {
DetailView().environmentObject(person) //Put person Instance into Environment
}
}
//==========================================================================
// DetailView
//==========================================================================
struct DetailView : View {
@EnvironmentObject var person : Person //Get person Instance from Environment
var body : some View {
Text(person.name)
}
}